home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / text / faqs / modula-2-faq < prev    next >
Encoding:
Internet Message Format  |  1994-04-12  |  16.6 KB

  1. Subject: comp.lang.modula2: Answers to Common Questions  -  v1.8 94.04.11
  2. Newsgroups: comp.lang.modula2,comp.answers,news.answers
  3. From: randy@psg.com (Randy Bush)
  4. Date: 11 Apr 1994 06:39:23 -0700
  5.  
  6. Archive-name: Modula-2-faq
  7. Last-modified: 1994/04/11
  8. Version: 1.8
  9.  
  10. Originally-By: mgallo@iptech.com (Mike Gallo)
  11. Maintained-By: randy@psg.com (Randy Bush)
  12.  
  13. Copyright 1992-4, M Gallo and R Bush.  All rights reserved.  May be
  14. distributed for free only in toto, including this notice.
  15.  
  16. Additions corrections solicited.  Commercials and commercial products are
  17. intentionally undermentioned.  Implementors are preferred to distributors.
  18.  
  19. CONTENT
  20.  
  21. 1)  What is comp.lang.modula2?
  22. 2)  What is Modula-2?
  23. 3)  What about Modula-2 standardization?
  24. 4)  What are Oberon and Oberon-2?
  25. 5)  What about Modula-3, Object Oberon, and Seneca?
  26. 6)  Where can I find implementations of Modula-2?
  27. 7)  Where can I find implementations of Oberon[-2]?
  28. 8)  Where can I find interesting libraries and sources?
  29. 9)  Some popular FTP sites
  30.  
  31.  
  32. 1)  What is comp.lang.modula2?
  33.  
  34. comp.lang.modula2 is a forum for the discussion of the Modula-2 programming
  35. language and related topics.  Prominent "related topics" have been the Oberon
  36. languages.  The newsgroup is gated to the FidoNet echo conference MODULA-2.
  37.  
  38. Folk with only Internet E-Mail access can participate in the discussion by
  39. joining the INFO-M2 mailing list.  To do this, send an E-Mail message to
  40. listserv@ucf1vm.cc.ucf.edu, with the following in the message body:
  41.     subscribe info-M2 yourFirstname yourLastName
  42. This server also has a very large archive of previous messages.
  43.  
  44. 2)  What is Modula-2?
  45.  
  46. Modula-2 is a programming language designed by Niklaus Wirth of Pascal fame.
  47. Among other things, it features strong typing,modules, a rich variety of data
  48. types, a powerful set of control statements, procedure types, opaque types,
  49. and coroutines.
  50.  
  51.  
  52. 3)  What about Modula-2 standardization?
  53.  
  54. There is no standard for the Modula-2 language or library beyond Niklaus
  55. Wirth's classic text, "Programming in Modula-2".  There is an ISO committee,
  56. ISO/JTC1/SC22/WG13, which has circulated a number of drafts which have varied
  57. between editions.  The current edition is the "2nd Committee Draft Standard:
  58. CD 10514 December 1992."  Its distribution has been restricted.
  59.  
  60. To find out what's happening with standardization, contact the chair of WG13,
  61. Mark Woodman, m.woodman@open.ac.uk.
  62.  
  63.  
  64. 4)  What are Oberon and Oberon-2?
  65.  
  66. The Oberon language was a part of Wirth's Oberon operating system.  Oberon is
  67. the successor to Modula-2 by its original designer,Niklaus Wirth of ETH,
  68. Zurich.  In brief, it removes variant records, opaque types, enumerations,
  69. subranges, the CARDINAL type, local modules, automatic qualifications, general
  70. indexing, the FOR and WITH statements, and even the notion of a program or
  71. main module.  Oberon adds type extension (inheritance) and, in its purest
  72. form, automatic garbage collection.
  73.  
  74. Oberon-2 is Oberon with a small set of extensions by H. Moessenboeck, also of
  75. ETH, Zurich.  These extensions are type-bound procedures (methods), read-only
  76. export, open array variables, a WITH statement with variants, and the
  77. reintroduction of the FOR loop.
  78.  
  79. More detailed information can be found in "Software: Practice and Experience"
  80. (July 1988, September 1989) and by anonymous ftp from the host
  81. neptune.inf.ethz.ch:/Oberon/Docu.
  82.  
  83. "Project Oberon, The Design of an Operating System and Compiler"
  84. N. Wirth and J. Gutknecht
  85. ACM Press and Addison-Weseley Publishing Company, 1992
  86. ISBN 0-201-54428-8 
  87. neptune.inf.ethz.ch (129.132.101.33)
  88. in ~ftp/Oberon/Examples/ProjectOberon.tar.Z
  89. File ~ftp/Oberon/Examples/readme.PO gives some further information.
  90.  
  91. "Programming in Oberon", Reiser & Wirth, ACM Press, 320 pgs, 1992.
  92.  
  93. "The Programming Language Oberon-2", Moessenboeck & Wirth, _Structured
  94. Programming_, Vol. 12, No. 4, pp. 179-195, 1991.
  95.  
  96.  
  97. 5)  What about Modula-3, Object Oberon, and Seneca?
  98.  
  99. Modula-3 is an interesting language designed at DEC Software Research Center,
  100. also as a successor to Modula-2.  Unless there is a specific question about
  101. how it relates to Modula-2 or Oberon, posts about Modula-3 would be better
  102. directed to Comp.lang.modula3.
  103.  
  104. Object Oberon is an Oberon variant designed by H.  Moessenboeck and J. Templ
  105. of ETH, Zurich.  It eventually evolved into Oberon-2.
  106.  
  107. Seneca is an Oberon variant focusing on numerical applications and is by R.
  108. Griesemer of ETH, Zurich. It is still under development.
  109.  
  110.  
  111. 6)  Where can I find (preferably free) implementations of Modula-2?
  112.  
  113. While there have been several implementations of Modula-2, they are not as
  114. numerous nor as easy to find as, for example, C.  Some implementations are
  115. listed below.  These are merely some commonly used implementations, and should
  116. not be taken as a recommendation of any of the following products.  Only
  117. implementors are listed, not distribuors.  Free or shareware implementations
  118. receive preferential treatment, as they encourage the new and/or experimental
  119. Modulan.
  120.  
  121. For MS-DOS:
  122.  
  123.      Fitted Software Tools
  124.      P.O. Box 867403
  125.      Plano, TX 75086
  126.      USA
  127.      ftp at ftp.psg.com:pub/modula-2/pc
  128.      FidoNet .REQuest from 1:105/6
  129.  
  130.      Gardens Point Modula-2
  131.      ftp at ftp.psg.com:pub/modula-2/pc
  132.  
  133.      Clarion Topspeed Modula-2
  134.      Clarion Software
  135.      150 East Sample Road
  136.      Pompano Beach, FL  33064
  137.      USA
  138.  
  139.      Extasy Modula-2 (demo version)
  140.      oberon.meakins.mcgill.ca:/Multiscope Modula-2
  141.      Multiscope, Inc.
  142.      1235 Pear Ave.
  143.      Mountain View, CA  94043
  144.      USA
  145.      (415) 968-4892
  146.  
  147.      Stony Brook Software
  148.      187 East Wilbur, Suite 9
  149.      Thousand Oaks, CA 91360
  150.      USA
  151.      Tel: +1 (805) 496 5837 (tech Support)
  152.      Fax; +1 (805) 496 7429
  153.  
  154. Sun-4:
  155.  
  156.     The only free Sun4-implementation I've heard of is that of Metrowerks
  157.     (ftp 132.208.12.5, login metro, passwd release4.0) but I haven't tested
  158.     it yet.
  159.     -- borchert@mathematik.uni-ulm.de
  160.  
  161.     While Sun (more properly SunPro) has discontinued direct support of M2,
  162.     responsibility for it has been transferred to Edinburgh Portable
  163.     Compilers Ltd (see below).
  164.  
  165. Sun-3:
  166.  
  167.     From: borchert@MATHEMATIK.UNI-ULM.DE (Andreas Borchert)
  168.  
  169.     Ulm's Modula-2 system for SUN 3 is now available via anonymous ftp from
  170.     titania.mathematik.uni-ulm.de (134.60.66.21). You'll find it in the
  171.     subdirectory pub/soft/modula/ulm/sun3.
  172.  
  173. Macintosh:
  174.  
  175.     MacMETH Modula-2 for the Mac
  176.     neptune.inf.ethz.ch:~/macmeth/*
  177.     ftp.psg.com:~/pub/.modula-2/macMETH/*
  178.  
  179.     p1 GmbH
  180.     Hogenbergstr. 20
  181.     W-8000 Munich 21
  182.     Germany
  183.     Tel   : +49(89)5461310
  184.     Fax   : +49(89)5802597
  185.     E-Mail: GER.XSE0109@AppleLink.Apple.COM (Elmar Henne)
  186.     (features Object oriented extensions which are compatible with Apple's
  187.      Object Pascal and MacApp)
  188.  
  189.     Metrowerks, Inc.
  190.     The Trimex Bldg, Rte 11
  191.     Mooers, NY 12958
  192.     USA
  193.     Tel  : (514) 458-2018
  194.     Email: achim@mips1.info.uqam.ca (Marcel Achim)
  195.     (Wirth's one-pass ported to MacOS, module size limited to 32k)
  196.  
  197. VMS:
  198.  
  199.     Florian Matthes
  200.     Fachbereich Informatik
  201.     Universitaet Hamburg      Tel. + (49) 40 4123 4144
  202.     Schlueterstrasse 70       Fax. + (49) 40 4123 6122
  203.     D-2000 Hamburg 13         e-mail: matthes@dbis1.informatik.uni-hamburg.de
  204.     Germany
  205.  
  206.     TERRA Datentechnik
  207.     Bahnhofstrasse 33
  208.     CH-8703 Erlenbach
  209.     Switzerland
  210.     (M2VMS (formerly Logitech's?) + distributor for others)
  211.     Phone: +41 1 910 35 55
  212.     Fax:   +41 1 910 19 92
  213.     BBS:   +41 1 910 35 31 (300 - 9600 baud, 8, N, 1)
  214.  
  215. Misc:
  216.  
  217.     A Modula-2 compiler for VAX BSD & ULTRIX and for MIPS/ULTRIX is available
  218.     via FTP from gatekeeper.dec.com:pub/DEC/Modula-2.
  219.  
  220.     2i Industrial Informatics GmbH
  221.     Haierweg 20e
  222.     D-7800 Freiburg
  223.     Germany
  224.     (MOCKA Modula-2 for DEC VAX(VMS&ULTRIX) & maybe others)
  225.  
  226.     A+L AG
  227.     D"aderiz 61
  228.     CH-2540 Grenchen
  229.     (From: hartmut@oberon.nbg.sub.org (Hartmut Goebel)
  230.     (distributes both a M2 and an Oberon-2 compiler for AmigaOS)
  231.  
  232.     AMSoft, contact
  233.     claudio@amsoft.net.ch
  234.     (M2Amiga)
  235.  
  236.     Armadillo Computing
  237.     5225 Marymount Drive
  238.     Austin, Texas 78723 USA
  239.     512/926-0360
  240.     Internet: jolinger@bix.com
  241.     (M2 for Amiga)
  242.     (From: jolinger@bix.com)
  243.  
  244.     Associated Computer Experts b.v.
  245.     Van Eeghenstraat 100
  246.     Amsterdam 1071GL
  247.     Netherlands
  248.     (Modula-2 for 680x0)
  249.  
  250.     Edinburgh Portable Compilers, Ltd.
  251.     17 Alva Street
  252.     Edinburgh EH2 4PH
  253.     UK
  254.     upport@epc.ed.ac.uk  voice: +44 31 225 6262  fax: +44 31 225 6644
  255.     20 Victor Square
  256.     Scotts Valley
  257.     California 95066
  258.     info@epc.com  +1 408 438 1851
  259.     (SCO Unix V.[34], Motorola 88000 UNIX V.[34], SPARC UNIX & Solaris,
  260.     RS/6000 AIX)
  261.  
  262.     Gardens Point Modula-2
  263.     Prof. John Gough
  264.     Queensland University of Technology
  265.     Gardens Point Branch
  266.     2 George Street
  267.     GPO Box 2434
  268.     Brisbane, Queensland  4001
  269.     Australia
  270.     +61 7-864-2132 (voice)
  271.     +61 7-864-1801 (fax)
  272.     (for DOS and most UNIX workstations)
  273.  
  274.     The GMD Modula-2 Compiler MOCKA is available for Linux at
  275.     ftp.karlsruhe.gmd.de    in /pub/mocka/linux
  276.     sunsite.unc.edu        in /pub/Linux/Incoming
  277.     tsx-11.mit.edu        in /incoming
  278.  
  279.     Introl Corporation
  280.     9220 W. Howard Avenue     647 W. Virginia St.
  281.     Milwaukee, WI 53288       Milwaukee, WI 53204
  282.     U.S.A>
  283.     (Cross compiler for targets H630x, M680x, M680x0, NS32000)
  284.  
  285.     Jefferson Software
  286.     12416 N. 28th Dr. #18-236
  287.     Phoenix, AZ 85029-2434
  288.     U.S.A.
  289.     (Jefferson Modula-2 for Atari ST (and others?))
  290.  
  291.     Mandeno Granville Electronics Ltd.
  292.     128 Grange Rd.
  293.     Auckland 3
  294.     New Zealand.
  295.     ph +64 9 6300558
  296.     fax =64 9 6301720
  297.     (compiler available for the Intel 8051 family of Micro's)
  298.     (From: dekker@decus.org.nz)
  299.  
  300.     Masthaven Development Limited
  301.     East Suite, 511 Coldham Lane
  302.     Cambridge CB1 3LN
  303.     United Kingdom
  304.     (Modula-2 for 68000 UNIX)
  305.  
  306.     Megamax
  307.     1200 East Collins, Suite 214
  308.     Richardson, TX 75081
  309.     U.S.A.
  310.     (Modula-2 for Atari ST)
  311.  
  312.     ModulaWare GmbH
  313.     GraphicSystems & Modula-2 Software
  314.     Wilhelstrasse 17A
  315.     D-8520 Erlangen
  316.     Phone: 49-9131/208395
  317.     Fax:   49-9131/28205
  318.     e-mail: g_dotzel@ame.nbg.sub.org
  319.     (distributor for many platforms)
  320.  
  321.     Rowley Associates
  322.     32 Rowley
  323.     Cam, Dursley
  324.     Glos. GL11 5NT
  325.     United Kingdom
  326.     (Modula-2 for "most platforms")
  327.  
  328.     Vail Silicon Tools Inc.
  329.     Box 165
  330.     Pompano Beach, FL 33069
  331.     U.S.A.
  332.     (cross-compiler (PC host) for 8051 controller)
  333.  
  334.     WATCOM
  335.     415 Phillip Street
  336.     Waterloo, Ontario  N2L 3X2
  337.     Canada
  338.     Tel.:  (519) 886-3700
  339.     FAX:   (519) 747-4971
  340.     BBS:   (519) 884-2103
  341.     Telex: 06-955458
  342.     email: tech@watcom.on.ca
  343.     (Modula-2 VM/SP CMS)
  344.  
  345. [ m2c, a Modula-2 to C translator kit ]
  346.  
  347.     From: sgccseh@citecuc.citec.oz.au (Stephen Hocking)
  348.  
  349.     It is in /pub/cocktail/mtc.tar.Z on the machine ftp.karlsruhe.gmd.de,
  350.     where the bloke who wrote it all (Josef Grosch) is based. You will also
  351.     need reuse.tar.Z and front.tar.Z from the same directory. For those
  352.     interested in compilers, that directory is a goldmine.  The stuttgart-uni
  353.     address was an alternative whose connections were a bit more reliable at
  354.     the time.
  355.  
  356.     Ross L Richardson <rlr@postoffice.utas.edu.au> comments:
  357.  
  358.     I believe mtc was originally written by M[atthias] Martin, as some kind
  359.     of Diploma project.
  360.  
  361. Modula-2*
  362.  
  363.     Modula-2* Compiler Available
  364.  
  365.     Modula-2* constructs allow for clear and portable parallel software
  366.     without intolerable loss of efficiency.  The following list contains
  367.     the main advances of Modula-2*:
  368.  
  369.     o The programming model of Modula-2* is a strict superset of data
  370.       parallelism.  It allows both synchronous and asynchronous parallel
  371.       programs.
  372.     o Modula-2* is problem-oriented in the sense that the programmer can
  373.       choose the degree of parallelism and mix the control mode (SIMD- or
  374.       MIMD-like) as needed by the intended algorithm.
  375.     o Parallelism may be nested to arbitrary depth.
  376.     o Procedures may be called from sequential or parallel contexts and can
  377.       themselves generate parallel activity without any restrictions.
  378.     o Most Modula-2* programs can be translated into efficient code for both
  379.       SIMD and MIMD architectures.
  380.  
  381.     Recently, we put a SPARC/SunOS 4.1.1 binary version of our Modula-2*
  382.     compiler "msc" on ftp. This version is now available via anonymous ftp
  383.     from iraun1.ira.uka.de:pub/programming/modula2star.
  384.  
  385.  
  386. 7)  Where can I find implementations of Oberon(-2)?
  387.  
  388. To repeat, this should not be taken as a recommendation of any of the
  389. following products, but. . .
  390.  
  391. ETH, Zurich has released free implementations of the Oberon system.  These
  392. include Oberon compilers.  They are available by anonymous ftp at
  393. neptune.inf.ethz.ch:/Oberon/* or gatekeeper.dec.com:/pub/plan/oberon/*.
  394.  
  395. Oberon-M is an independently produced Oberon compiler for MS-DOS systems that
  396. can also be found at neptune and gatekeeper.
  397.  
  398. There is also a Modula-2/Oberon-2 to C translator available through
  399.     Real Time Associates Ltd.
  400.     Canning House
  401.     59 Canning Road
  402.     Croydon, Surrey  CRO 6QF
  403.     UK
  404.  
  405. From: thutt@THAMA1.APGEA.ARMY.MIL
  406.  
  407.     The source to the Oberon compilers is not publicly available however, you
  408.     can license the front end and/or the back end for the Oberon-2 compiler
  409.     from ETH for 1000 Swiss Francs.  The license agreement does prohibits you
  410.     from redistributing the source, but you are free to do whatever you want
  411.     with any derivative product, provided you give ETH credit for the original
  412.     compiler source.
  413.  
  414.     You are also required to make ETH aware of your product, and provide the
  415.     product to them should they ask.  It does not state if it needs to be
  416.     source or executable code, however.
  417.  
  418.     It is a pretty loose agreement, but not so loose to hinder ETH.  1000 SFr
  419.     is about 757 dollars, as of last month.
  420.  
  421. AmigaOberon:
  422.   Fridtjof Siebert
  423.   fridi@amokst.stgt.sub.org
  424.  
  425.  
  426. 8) Where can I find interesting libraries and sources?
  427.  
  428. The FTP sites listed in 9.
  429.  
  430. Amiga Sources:
  431.  
  432.     From: htgoebel@cip.informatik.uni-erlangen.de (hartmut Goebel)
  433.     
  434.     At ftp.uni-paderborn.de in /amiga/amok you can get all the disks from the
  435.     AMOK series via anonymous ftp.  Please download only 18.00 - 8.00 h
  436.     (MET), cause the transmitt rate is low. Perhaps someone call move the
  437.     disks to overseas, too.
  438.  
  439.     On this series there are several modules both for Oberon and modula2 and
  440.     executable programms (most with source).  While the Programms almost run
  441.     only on the Amiga, the modules may be interesting for other systems, too.
  442.  
  443.     There are modules for many diverent usages, not only generic.
  444.  
  445. MAS Modula-2 Algebra System
  446.  
  447.     From: kredel@unipas.fmi.uni-passau.de (Heinz Kredel)
  448.  
  449.     MAS is an experimental computer algebra system combining imperative
  450.     programming facilities with algebraic specification capabilities for
  451.     design and study of algebraic algorithms.  MAS views mathematics in the
  452.     sense of universal algebra and model theory and is in some parts
  453.     influenced by category theory.
  454.  
  455.     MAS (0.3x and 06.x) is available on electronic networks (internet) via
  456.     anonymous ftp from:  alice.fmi.uni-passau.de = 123.231.10.1
  457.  
  458. Repertoire and other software component libraries
  459.     PMI
  460.     P.O. Box 8402                 3279 N. Nicolet Drive
  461.     Green Bay, WI 54308-8402      Green Bay, WI 54311
  462.     U.S.A.
  463.  
  464.     PMOS is a collection of modules to allow you to write multitasking
  465.     programs.  It runs on IBM-PC compatible computers.  It has been
  466.     compiled with TopSpeed Modula-2.  Porting to other machines and
  467.     compilers is possible, but should probably be tackled only by
  468.     experienced programmers.
  469.     
  470. PMOS - a multitasking library (ftp.psg.com)
  471.  
  472.     The package is potentially of interest to
  473.      - people who want to write real-time applications for the IBM-PC;
  474.      - Modula-2 programmers who want a collection of utility modules;
  475.      - students of operating systems who want to look at real code.
  476.     Full source is included.
  477.     
  478.     The PMOS package includes
  479.      - a kernel which contains a CreateTask procedure, plus various
  480.        routines to support the multitasking.
  481.      - intertask communication via semaphores, mailboxes, queues;
  482.        or you can add your own mechanisms.
  483.      - device drivers for keyboard, printer, A/D, floppy disk, hard
  484.        disk, hardware timer.  (No mouse as yet.)
  485.      - a file system compatible with the MS-DOS FAT system; or you
  486.        can choose to use standard library file operations.
  487.      - screen windows in both text and graphics modes.  (The text-mode
  488.        support is very complete; graphics modes are less fully
  489.        supported so far.)
  490.      - screen utilities such as menus, on-screen editing of defined
  491.        data fields, multiple virtual screens.
  492.      - miscellaneous modules: random numbers, some data structures,
  493.        sorting, etc.
  494.  
  495.  
  496.  
  497. 9) Some Popular FTP sites:
  498.  
  499.     neptune.inf.ethz.ch
  500.     gatekeeper.dec.com
  501.     ftp.psg.com
  502.     titania.mathematik.uni-ulm.de
  503.  
  504. -30-
  505.  
  506. -- 
  507. randy@psg.com   ...!uunet!m2xenix!randy
  508.  
  509.